#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>


typedef int SLDataType;

typedef struct SLTNode
{
	SLDataType data;
	struct SLTNode* next;

}SLTNode;


void SLTPrint(SLTNode* phead);

void SLTPushBack(SLTNode** pphead, SLDataType x);

void SLTPushFront(SLTNode** pphead, SLDataType x);

void SLTPopBack(SLTNode** pphead);

void SLTPopFront(SLTNode** pphead);



SLTNode* SLTFind(SLTNode* phead, SLDataType x);

void SLTInsert(SLTNode** pphead,SLTNode* pos, SLDataType x);

void SLTPopErase(SLTNode** pphead, SLTNode* pos);




void SLTInsertAfter(SLTNode* pos, SLDataType x);

void SLTPopEraseAfter( SLTNode* pos);


void SLTDestroy(SLTNode** pphead);